When a user requests account or other business information on-line with a business application, that request for information is transmitted from the business application to a client service application associated with a client service provider (also referred to as a client service) and then to a service provider such as a business service that controls access to the requested information. The business service then provides the requested information to the client service application for usage by the business application. In existing message routing systems, a load balancer is responsible for routing all messages containing requests for information between the client service application and a set of business service endpoint(s) (also referred to as endpoint(s)) associated with the business service. In such message routing systems, a message from a client service application identifies the business service for which the message is intended and the load balancer identifies one of the business service endpoint(s) to which the message is to be routed based, at least in part, on load balancing.
In recent years, some such load balancers have also employed affinity based routing to perform message routing between message oriented services such as client service applications and business service endpoints that are deployed/distributed in an execution/runtime environment. Affinity based routing involves routing a message containing a data request based on a characteristic of the data being requested and is performed to reduce the number of network interactions needed to satisfy a single data request and thereby improve performance and customer experience. The data characteristics(s) used to route the message can be based on the location of the data being requested, the location of a partner with whom the data is associated, the location of the client service application, the manner in which a set of stored data is partitioned among business service endpoints and/or any number of other criteria.
When a business service deploys a new service endpoint, the business service notifies the load balancer operator which then reconfigures the load balancer to accommodate the new service endpoint. Reconfiguration of the load balancer may require hardware changes. Further, in some cases, the business service notifies each of the client applications of the existence of the new endpoint server and of the information contained in the endpoint server.
Wherever possible, the same reference numbers will be used throughout the drawing(s) and accompanying written description to refer to the same or like parts.